iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 1
2

前言

Hello, world!

對於第一次學習程式語言的人來說,JavaScript 是個容易有成就感的玩意,在引擎 即時編譯(Just-in-time) 的幫助下,我們可以輕輕鬆鬆地跟著書籍或課程撰寫了一些程式,並且迅速的在網頁上看到結果。當我們點擊著那些剛開發完的功能被順利地執行,那是一件多麼令人興奮的事情!

然而,當想開發功能沒有在教材中或是越趨複雜時,執行的結果不如預期的比例往往也越來越高,有些人可能會就此喪氣,闔上某本 JavaScript 書籍然後去電影院看看《天能》,覺得裡面的劇情都比 JavaScript 還要好理解;而另一群堅忍不拔的人們,可能會想起了 Malcolm Gladwell 在《異類: 不一樣的成功啟示錄》所說過的話:「要成為某個領域的專家得經過一萬小時的錘鍊。」,所以決定嘗試「做點什麼」來解決問題。

接著,一兩小時就這麼過去了。過來人都清楚那故事的結果:要不是剛好試出了結果,不然就是陷入另一個錯誤提示的窘境。除了一些天選之人之外,至少我當初也不是那個天選之人。

https://ithelp.ithome.com.tw/upload/images/20200916/20119062lPf0m83ezH.png

此時的你可能開始後悔沒有跟剛剛那群人一起去看《天能》,導致現在的你只能買到《花木蘭》的電影片,一邊咒罵著 Malcolm Gladwell 多騙走了你的一兩小時。

那麼要怎麼做才不會像「無限猴子定理」中的猴子一樣,一直來來回回的猜出最後所需要的程式碼呢?

無限猴子定理是在講述讓一隻猴子在打字機上隨機的按按鈕,最後幾乎可以打出任何特定的文字段落,就連唐詩三百首也可以打的出來,只是可能需要很長很長一段時間。

答案就是清楚的理解 JavaScript 在執行 時到底都做了什麼!

而此系列文的目的便是透過具象化你對於理解 JavaScript 的認知模型,幫助你釐清你自己的邏輯脈絡,接著透過修正來讓你的思維接近 JavaScript 在執行時期的過程與結果,最終使得你在開發的過程中能夠透過清晰地理解 JavaScript 程式碼。

然而光是理解 JavaScript 還是不夠的,因此這系列文也會從基礎的語法開始講起,一步一步的說明這些語法在實作中的用法與一些技巧,來幫助你讓你的程式能夠更容易被他人所解讀,並且在系列文後半段也將依不同面向來討論如何讓你的程式碼能變得更好!

文章大綱

本系列文依據不同的章節所要帶給讀者的內容不盡相同,而在不同的章節所要傳達的概念如下:

  • 【事前準備】 瞭解如何透過認知心理學上的概念來認識 JavaScript 與本系列所想傳達的概念。
  • 【建立模型】 重新建立起閱讀 JavaScript 的心智模型,理解各個語法對人與引擎各自所代表的含意。
  • 【擴充模型】 加入瀏覽器所提供的 API,擴充原先心智模型中只有原生語法的概念,並與瀏覽器溝通。
  • 【修改模型】 認識 JavaScript 真正在執行期中所做的事情,提升與修改原先對於 JavaScript 理解。
  • 【驗證模型】 藉由實作練習來驗證模型是否如預期所思考。
  • 【淬鍊模型】 從實作中不同面向的角度來看 JavaScript,將 JavaScript 程式碼淬鍊到真正所需要的內容。

以上就是這次系列文大概要講的內容,那麼現在就開始跟著我一起看下去吧!


下一篇
【事前準備】1-2 淺談程式與認知模型(cognitive model)
系列文
《透過認知心理學認識 JavaScript》貓咪也能輕鬆學習的 JavaScript33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
King Tzeng
iT邦新手 3 級 ‧ 2020-09-20 03:48:26

沒貓咪沒真相(被打

ShawnL iT邦新手 1 級 ‧ 2020-09-20 23:26:59 檢舉

感覺是該來補個貓貓圖了 XD
不過這次有特別聘請首席貓咪繪圖設計師來幫忙繪製後續可愛的章節插圖~ 敬請期待

喔喔喔 敲碗敲碗!!/images/emoticon/emoticon31.gif

我要留言

立即登入留言